home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
C64
/
B-Business
/
(c)b2.d64
/
mag index.c
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2007-02-04
|
7KB
|
258 lines
10 REM *******************************
12 REM * *
14 REM * MAGAZINE INDEX PRGM *
15 REM * FOR THE COMMODORE 64 *
16 REM * AND DISK DRIVE. *
17 REM * *
18 REM * DON WHITE *
20 REM * 47 ARIEL COURT *
22 REM * NEPEAN, ONTARIO *
24 REM * K2H 8J1 *
26 REM * 613-829-2082 *
28 REM * *
30 REM *******************************
32 REM
34 DIMM$(20)
36 M$(1)="65XX [205]ACHINE [204]ANGUAGE"
38 M$(2)="65XX [212]ECHNIQUES"
40 M$(3)="[195]64 [208]ROGRAMS"
42 M$(4)="[195]64 [212]ECHNIQUES"
44 M$(5)="[199]AMES"
46 M$(6)="[199]RAPHICS"
48 M$(7)="[205]ATHEMATICS"
50 M$(8)="[194]USINESS"
52 M$(9)="[194]ASIC [208]ROGRAMMING"
54 M$(10)="[195]OMMUNICATIONS"
56 M$(11)="[200]ARDWARE"
58 M$(12)="[211]OFTWARE"
60 M$(13)="[204]ANGUAGES"
62 M$(14)="[213]TILITIES"
64 M$(15)="[211]IMULATIONS"
66 M$(16)="[205]ISCELLANEOUS"
68 M$(17)="[193]PPLICATIONS"
70 M$(18)="[205]USIC"
72 M$(19)="[197]DUCATION"
74 M$(20)="[208]-500"
76 REM
78 GOTO332
80 REM
82 REM **** INDEX FILE SEARCH ****
84 REM
86 L=0
88 PRINTTAB(5)"[147][158][195]ATEGORIES AND CODES ARE:
90 [129]I[178]1[164]20
92 I$[178]" "[170][196](I)
94 [153][163]5)[199](30)[201](I$,2)". "[199](158)M$(I)
96 [130]
98 [133]"(null)HICH CATEGORYWAIT CLOSECMDCMDCMD";I$:I[178][197](I$)
100 [139]I[179]1[176]I[177]20[167][153]"ONONON":[137]98
102 [141]138:[143] FORMAT SCREEN
104 [140]:[135] N
106 [141]118:[143] READ DATA
108 [139][200](ZZ$,1)[178]"Y"[167]82
110 [137]332
112 [143]
114 [143] ****** READ DATA ******
116 [143]
118 [135]C1,C2,C3,A$,B$,C$,D$
120 [139]A$[178]""[167]130
122 A$[178][200](A$,22):[143] MAKE SURE STRING FITS SCREEN FORMAT
124 [139]C1[178]I[176]C2[178]I[176]C3[178]I[167][153]A$[163]23)B$[163]30)C$[163]35)D$:L[178]L[170]1
126 [139]L[178]17[167][141]164:[143] PAUSE
128 [137]118
130 [153]"DEFATNNOTHER CATEGORY
132 INPUT"(Y OR N)[146] [158]Y[157][157][157]";ZZ$
134 RETURN
136 REM
138 REM **** FORMAT SCREEN ****
140 REM
142 PRINT"[147][195]ATEGORY:"TAB(15)CHR$(158)""M$(I)"[146]"
144 PRINT"[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][178][192][192][192][192][192][192][178][192][192][192][192][178][192][192][192][174]
146 [153]"(null)(null)PEEKMID$VALLEN(null)"[163]23)"(null)(null)(null)(null)LENVAL"[163]30)"STR$ATN(null)VAL"[163]35)"(null)CHR$#
148 FORJ=0TO38:PRINT"[192]";:NEXT
150 PRINT""
152 PRINTTAB(22)"[221]"TAB(29)"[221]"TAB(34)"[221]"TAB(38)"[221]"
154 PRINTTAB(22)"[219]"TAB(29)"[219]"TAB(34)"[219]"TAB(38)"[179]":PRINT"[145]
156 [129]J[178]1[164]20:[153][163]22)"(null)"[163]29)"(null)"[163]34)"(null)"[163]38)"(null)":[130]
158 [153]"TANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTAN>TANTANTANTANTANTAN>TANTANTANTAN>TANTANTANEXPLIST";
160 [153]"":[142]
162 [143]
164 [143] ***** CLEAR FORMAT *****
166 [143]
168 [153]"DEF(null)RESS SPACEWAIT TO CON-":[153]"TINUE, @WAIT TO EXIT.
170 GETZZ$:IFZZ$=""THEN170
172 IFZZ$="@"THEN338
174 PRINT""
176 FORJ=1TO20
178 PRINT" [221] [221] [221] [155]":NEXT
180 L=0:PRINT"":RETURN
182 REM
184 REM ***** MAGAZINE CODE *****
186 REM
188 PRINT"[147]"TAB(13)"[158][205][193][199][193][218][201][206][197] [195][207][196][197][211][155]
190 [153]" LENLEN LENREATIVE LENOMPUTING":[153]" (null)LEN (null)ERSONAL LENOMPUTING
192 PRINT" [203][194] [203]ILOBAUD [205]ICROCOMPUTING":PRINT" [194][217][212][197] [194][217][212][197]
194 [153]" (null)RIGHT$LEN(null)(null) (null)RIGHT$LEN(null)(null)":[153]" (null)(null)ATN(null)(null) (null)RANSACTOR
196 PRINT" [201][206][212][193][199][197] [201]NTERFACE [193]GE"
198 PRINT" [195][207][205][208] [195][207][205][208][213][212][197]!
200 [141]462
202 [137]332
204 [143]
206 [143] *** ADD MATERIAL ***
208 [143]
210 [153]"LOAD"[163]11)"SYS*** LEN(null)VALATN(null)VAL STR$ATN(null)ATNWAIT ***"
212 [143] PRINT""TAB(9)"(null)P MODES & ENTRY CODES
214 PRINT""TAB(11)"[197]NTER NEW DATA[158] E"
216 PRINT""TAB(11)"[200]ELP[158] H"
218 PRINT""TAB(11)"[197]XIT[158] \"
220 PRINT:PRINT:PRINT" [217]OUR CHOICE ?"
222 GETA$:IFA$<>"E"ANDA$<>"H"ANDA$<>"\"THEN222
224 IFA$="E"THEN232
226 IFA$="H"THEN364
228 GOTO338
230 REM
232 REM *** ENTER DATA ***
234 REM
235 DN$=""
236 X=FRE(0):IFX<0THENX=65535+FRE(0)
238 PRINT"[147][158][196]ATA ENTRY MODE[146] -"X"BYTES FREE":PRINTDN$"[164]"
240 PRINT""TAB(4)"C1,C2,C3,"CHR$(34)"TITLE"CHR$(34)","CHR$(34)"REF"CHR$(34);
242 PRINT",DATE,PAGE"
244 PRINT""TAB(7)"[150][208]RESS '\' TO EXIT THIS MODE[158]"
246 GETA$:IFA$=""THEN246
248 IFA$=CHR$(20)ANDLEN(R$)=0THEN246
250 IFA$=CHR$(20)ANDLEN(R$)>0THENR$=LEFT$(R$,LEN(R$)-1):PRINTDN$R$A$:A$=""
252 IF A$=CHR$(13)THEN270
254 IFA$="\"THENRUN
256 R$=R$+A$:IFLEN(R$)<65THEN268
258 PRINTDN$
260 PRINT" [196][193][212][193] ENTRY HAS EXCEEDED 65 CHARACTERS.
262 [153]" (null)LEASE RE-ENTER DATA"
264 [141]462
266 R$[178]"":[137]238
268 [153]DN$R$"TO":[137]246
270 [140]:[135]N:N[178]N[170]1:LN[178]1000[170]N
272 [153]""LN"DATA "R$
274 [153]"1000 DATA "N
276 [153]"GOTO232":[153]"
278 POKE198,3:POKE631,13:POKE632,13:POKE633,13
280 END
282 REM **** SAVE FILE ****
284 REM
286 INPUT"[147][158][193]RE YOU REPLACING A PREVIOUS VERSION Y[157][157][157]";ZZ$
288 INPUT"[198]ILE NAME [157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]";F$
290 IFF$="[160]"THEN288
292 INPUT"[201]S THIS CORRECT[160][160]Y[157][157][157]";A$
294 IFA$<>"Y"THEN288
296 INPUT"[215]HICH DRIVE 0[157][157][157]";D$:D=VAL(D$)
298 IFD<0ORD>1THENPRINT"[145][145][145]":GOTO296
300 OPEN15,8,15:PRINT#15,"I"+D$
302 IFZZ$<>"Y"THEN308
304 PRINT#15,"R"+D$+":TEMP="+F$
305 INPUT#15,E,E$,E1,E2
306 IFE>19THENPRINT""E$:PRINT"[198]ILE NOT SAVED":GOSUB462:GOTO318
308 SAVED$+":"+F$,8
310 PRINT"[214]ERIFYING[146] "F$
312 VERIFY"*",8
314 IFST<>64THENCLOSE15:END
316 IFZZ$="Y"THENPRINT#15,"S"+D$+":TEMP"
318 CLOSE15:GOTO332
320 REM
322 REM ****** EXIT *****
324 REM
326 PRINT"[147]
328 [128]
330 [143]
332 [143] *** MAIN PROGRAM BLOCK ***
333 [151]53280,0:[151]53281,0
334 [143]
336 [153][199](14)
338 [153]"LOAD"[163]9)"SYS*** (null)ATNCHR$ATN(null)RIGHT$(null)VAL RIGHT$(null)STR$VAL(null)WAIT ***"
340 [153][163]9)"1.SYS (null)EARCH FILE"
342 [153][163]9)"2.SYS (null)IST MAGAZINE CODE
344 PRINTTAB(9)"3.[158] [193]DD MATERIAL
346 [153][163]9)"4.SYS (null)AVE FILE
348 PRINTTAB(9)"5.[158] [201]NSTRUCTIONS
350 [153][163]9)"6.SYS (null)OAD ANOTHER INDEX
352 PRINTTAB(9)"7.[158] [197]XIT PROGRAM
354 [153][163]5)" (null)OUR CHOICE ?
356 GETZZ$:IFZZ$=""THEN356
358 ZZ=VAL(ZZ$):IFZZ<1ORZZ>7THENPRINT"[145][145][145]";:GOTO354
360 ONZZGOTO82,184,206,282,404,476,322
362 REM
364 REM **** HELP FUNCTION ****
366 REM
368 PRINT"[147]"TAB(10)"[158]*** [201][206][211][212][210][213][195][212][201][207][206][211][146] ***"
370 PRINT"[155] [212]HE DATA MUST BE ENTERED IN 7 FIELDS.
372 [153]"(null)HE FORMAT FOR THE FIELDS IS:
374 PRINT"[158] C1,C2,C3,"CHR$(34)"TITLE"CHR$(34)","CHR$(34)"REF"CHR$(34);
376 PRINT",DATE,PAGE"
378 PRINT"[155]WHERE C1,C2,C3 ARE CROSS REFERENCE
380 [153]"VALUES AS PER THE CATEGORY LIST.
382 PRINT"[193]S AN EXAMPLE:
384 [153]"SYS 1,4,0,"[199](34)"(null)ETBUG"[199](34)","[199](34);
386 [153]"LEN(null)(null)(null)"[199](34)",8107,132"
388 [153]"LISTVALACH FIELD MUST BE FOLLOWED BY A COMMA
390 PRINT"AND THE [193]RTICLE AND [205]AGAZINE NAMES MUST
392 [153]"BE PRECEEDED AND FOLLOWED BY QUOTATION
394 PRINT"MARKS.
396 [153]"(null)SE '0' FOR NULL CROSS-REFERENCES."
398 [141] 462
400 [137]206
402 [143]
404 [143] *** GENERAL INSTRUCTIONS ***
406 [143]
408 [153]"LOAD"[163]10)"SYS*** RIGHT$(null)(null)(null)(null)(null)LEN(null)RIGHT$(null)(null)(null)WAIT ***"
410 [153]"LIST(null)HIS PROGRAM ALLOWS THE USER TO STORE
412 PRINT"INFORMATION RELATING TO MAGAZINE
414 [153]"ARTICLES IN STR$ATN(null)ATN STATEMENTS WITHIN THE
416 PRINT"PROGRAM. [197]ACH ARTICLE CAN HAVE UP TO
418 [153]"3 CROSS-REFERENCES. (null)HE CROSS-REFER-
420 PRINT"ENCE CATEGORIES WILL BE DISPLAYED WHEN
422 [153]"(null)PTION 1 IN THE (null)ENU IS CHOSEN. (null)HE
424 PRINT"CROSS-REFERENCE TITLES ARE STORED AT
426 [153]"THE BEGINNING OF THE PROGRAM AND CAN BE
428 PRINT"EASILY MODIFIED TO SUIT THE USER.
430 [153]"(null)EW STR$ATN(null)ATN STATEMENTS ARE CREATED IN THE
432 PRINT"PROGRAM BY SELECTING [207]PTION 3. [212]HE
434 [153]"INSTRUCTIONS FOR CREATING THE STR$ATA
436 PRINT"[194]ASE CAN BE ACCESSED FROM THAT ROUTINE.
438 [141]462
440 [153]"LOAD"[163]10)"SYS*** RIGHT$(null)(null)(null)(null)(null)LEN(null)RIGHT$(null)(null)(null)WAIT ***"
442 [153]"LIST(null)NCE MODIFICATIONS HAVE BEEN MADE IN
444 PRINT"THE [196][193][212][193] STATEMENTS, THE PROGRAM CAN
446 [153]"THEN SAVE A COPY OF ITSELF TO DISK.
448 PRINT"[201]F YOU WISH, THE PREVIOUS COPY OF THE
450 [153]"PROGRAM WILL BE RENAMED, A NEW COPY
452 PRINT"SAVED AND VERIFIED, AND THE OLD COPY
454 [153]"SCRATCHED.
456 GOSUB462
458 GOTO332
460 REM
462 REM ***** PROMPT *****
464 REM
466 PRINT"
468 [153][163]5)"DEF(null)RESS (null)VAL(null)(null)(null)(null)WAIT TO CONTINUE
470 GETZZ$:IFZZ$<>CHR$(13)THEN470
472 RETURN
474 REM
476 REM *** LOAD ANOTHER INDEX ***
478 REM
480 INPUT"[147][158][201]NDEX YEAR TO BE LOADED * [157][157][157][157][157][157][157][157][157][157][157][157][157][157]";F$
482 IFF$="*"THEN480
484 INPUT"IS THIS CORRECT[160][160]Y[157][157][157]";ZZ$
486 IFZZ$<>"Y"THEN480
488 PRINT"[147]LOAD";CHR$(34);F$;CHR$(34);",8"
490 PRINT"RUN"
492 POKE198,2:POKE631,13:POKE632,13
494 END
496 REM
498 REM **** DATA STARTS HERE ****
500 REM
1000 DATA 4
1001 DATA 11,16,0,"[195]64 [205]EMORY [205]AP","[195][207][205][208]",8210,150
1002 DATA 6,14,3,"[211]HAPE [199]ENERATOR [198]OR [195]64","[195][207][205][208]",8211,160
1003 DATA 11,12,16,"1ST [204]OOK [193]T [212]HE [195]64","[195][207][205][208]",8208,60
1004 DATA 11,6,18,"[211]PRITES & [211]OUND [207]N [195]64","[195][207][205][208]",8209,106
9999 DATA 0,0,0,"","","","":REM END OF FILE